
package com.jf.cloud.multishop.service;

import com.jf.cloud.multishop.model.ShopWalletZone;
import com.jf.cloud.multishop.vo.ShopWalletZoneInfoVO;

import java.util.List;

/**
 * 
 *
 * @author zz
 * @date 2022-08-29 16:40:20
 */
public interface ShopWalletZoneService {

    /**
     * 更新
     * @param shopWalletZone 
     */
    void update(ShopWalletZone shopWalletZone);

    /**
     * 进行分片
     * @param paySysType 0
     * @param shopId 需要分片的店铺id
     */
    void doZone(Long shopId,Integer paySysType);

    /**
     * 从缓存中获取店铺分片情况
     * @param shopId
     * @return
     */
    ShopWalletZoneInfoVO getShopZoneInfo(Long shopId);

    /**
     * 移除店铺分片缓存
     * @param shopIds
     */
    void removeZoneCache(List<Long> shopIds);

    /**
     * 更新该店铺所有分片的结算金额包括主分片
     * @param shopId
     * @param totalSettleAmount
     * @param zoneNum
     */
    void updateZoneSettleAmount(Long shopId, Long totalSettleAmount, int zoneNum);
}
